package com.yunhe.java.pro15;

import java.io.*;

/**
 * Created by Administrator on 2017/8/14 0014.
 */
public class IODemo {
    public static void main(String[] args)throws IOException {
//        /**
//         * 输出流
//         */
//        File file1=new File("E:\\xx.txt");
//        OutputStream out=new FileOutputStream(file1,true);//true表示追加原来的内容，false表示覆盖原来的内容
//        String content="我爱吃菜\r\n"; //转义符放在双引号的里面
//        for (int i=1;i<=10;i++){
//            out.write(content.getBytes());
//        }
//        out.close(); //关闭流


        /**
         * 输入流（一把读完）
         */
//        InputStream input=new FileInputStream(file1);
//        byte[] bytes=new byte[(int)file1.length()];
//        input.read(bytes);  //读取file1的内容
//        System.out.println(new String(bytes)); //字节数组转换成字符串
//        input.close();


        /**
         * 复制文件
         */
//        File file=new File("D:\\Git-2.7.2-64-bit_setup.1457942968.exe");  //原文件绝对路径
//        File tofile=new File("E:\\Git安装包.exe");  //需要复制到的路径
//        InputStream input1=new FileInputStream(file);
//        OutputStream output=new FileOutputStream(tofile);
//        byte[] byte2=new byte[14*1024*1024]; //缓存数组; (1024byte*1024)M*14   1023byte=1kb
//        int size;//每次读取返回的那一个字节的数据
//        while((size=input1.read(byte2))!=-1){  //一次读取一个字节，往数组中放，当读取完内容，计算机会返回-1
//            System.out.print(">");
//            output.write(byte2,0,size); //将数组中的数据 打印出去（输出）
//        }
//        input1.close();
//        output.close();

        //第一遍
        /**
         * 复制文件
         */
        File file=new File("D:\\Git-2.7.2-64-bit_setup.1457942968.exe"); //要复制的文件路径
        File tofile=new File("E:\\Git文件.exe"); //要复制到的路径
        InputStream input1=new FileInputStream(file);  //创建输入流对象
        OutputStream output=new FileOutputStream(tofile);  //创建输出流对象
        byte[] byte2=new byte[1024*1024*12]; //缓存数组
        int size;
        while((size=input1.read(byte2))!=-1){   //读取,一次读取一个字节，往数组中放
            System.out.printf(">");
            output.write(byte2,0,size);  //输出
        }
        input1.close();
        output.close();

        /**
         * 输出流
         */
        File afile=new File("E:\\xx.txt");
        OutputStream ops=new FileOutputStream(afile);
        String a="我爱shopping";
        ops.write(a.getBytes());
        ops.close();

        /**
         *  输入流
         */
        InputStream ips=new FileInputStream(afile);
        byte[] abyte=new byte[(int)afile.length()];
        ips.read(abyte);//读取afile的内容
        System.out.println(new String(abyte));
        ips.close();
    }
}